|
94 |
|
Содержание
- Установка зависимостей
- Примеры команд
- Расположение
bin
-файла - Использование
splash
Установка зависимостей
pip3 install pyinstaller
Примеры команд
Создание bin-файла производить из-под Linux. Модуль PyInstaller Имеет несколько опций:
-F
- создание исполняемого файла в виде одного файла-w
- отключение отображения консоли (нерелевантно для Linux)--icon
- "встроить" изображение в исполняемый файл
При создании bin
указывается путь к главному py-классу.
Использование аргументов -F
и -w
Аргумент -F
создаёт единый бинарный файл, включающий в себя зависимости:
python3 -m PyInstaller -F my_app.py
Если компилировать программу без этого параметра, то в директории с программой будет создана дополнительная папка _internal
, содержащая в себе все зависимости. При удалении этой директории программа не запустится:
python3 -m PyInstaller my_app.py
Аргумент -w
не влияет на создаваемый бинарный файл, так как консоль в любом случае не будет отображаться (если изначально не запускать файл через терминал). Поэтому данные команды являются равносильными:
python3 -m PyInstaller -w my_app.py
python3 -m PyInstaller my_app.py
Если требуется консоль (напр., для просмотра вывода), то надо открыть терминал и из него запустить бинарный файл:
cd my_project
# Запуск программы
./my_app
Создать исполняемый файл с иконокой:
Воспользоваться одним из примеров:
python3 -m PyInstaller --icon "./my_app.png" my_app.py
python3 -m PyInstaller --icon my_app.png my_app.py
* В качестве изображения, используемого на bin-файле, обязательно указывать только .png-файл. После компиляции обязательно скопировать инконку в директорию с исполняемым файлом.
Не забываем докинуть все внешние зависимости в директорию с программой (конфиг-файлы, изображения, напр., *.png), если имеются.
Расположение bin
-файла
После компиляции будет создано две директории в корне проекта:
build
- временная директорияdist
- содержит файл со скомпилированной программой
Использование splash
Если программа открывается долго, можно добавить изображение, которое будет отображаться, пока не загрузится программа.
Для этого требуется:
- установить зависимости
- Добавить в код обработку
splash
- использовать
splash
при компиляции программы
Утсановка зависимостей
pip install py-splash
pip install importlib
Обработка splash
на уровне кода требуется, чтобы после загрузки программа splash
исчез:
if '_PYIBoot_SPLASH' in os.environ and importlib.util.find_spec("pyi_splash"):
import pyi_splash
pyi_splash.update_text('UI Loaded ...')
pyi_splash.close()
Добавление splash
при компилировании программы:
python3 -m PyInstaller -F --splash my_splash_file.png --icon "./my_icon.png" ./light_rtsp_viewer.py
Расположение bin
-файла
После компиляции будет создано две директории в корне проекта:
build
- временная директорияdist
- содержит файл со скомпилированной программой
Использование splash
Если программа открывается долго, можно добавить изображение, которое будет отображаться, пока не загрузится программа.
Для этого требуется:
- установить зависимости
- Добавить в код обработку
splash
- использовать
splash
при компиляции программы
Утсановка зависимостей
pip install py-splash
pip install importlib
Обработка splash
на уровне кода требуется, чтобы после загрузки программа splash
исчез:
if '_PYIBoot_SPLASH' in os.environ and importlib.util.find_spec("pyi_splash"):
import pyi_splash
pyi_splash.update_text('UI Loaded ...')
pyi_splash.close()
Добавление splash
при компилировании программы:
python3 -m PyInstaller --splash my_splash_file.png --icon "./my_icon.png" ./light_rtsp_viewer.py